//************************************************************************
// author	:	vera												
// date		:	2011/4/3 1:28 					                 
//************************************************************************
#ifndef SL_OBJECT_H_
#define SL_OBJECT_H_
#include "Config.h"
#include "Referenced.h"
#include "ref_ptr.h"
namespace sl
{
	class SL_EXPORT Object : public Referenced
	{
		public:
			Object(){};
			Object( const Object & obj );

			void setName( const std::string & strName ) { m_strName = strName; }
			void setName( const char * strName ) { m_strName = strName; }

			const std::string & getName() const { return m_strName; }

		protected:
			virtual ~Object();

		private:
			//can not allow to copy' operation 
			Object & operator = ( const Object & ) { return *this; };

			std::string		m_strName;
		
	};
}

#endif